/*
 * @FilePath: /my-map-demo/src/config/map-config.js
 * @Author: 张文鑫
 * @Date: 2024-11-07 09:40:21
 * @Description:
 */
import TileLayer from "ol/layer/Tile";
import XYZ from "ol/source/XYZ";

var MAP_CONFIG = {
  center: [109.053421702116, 34.5051921354732], // 地图中心点
  zoom: 11, // 缩放级别
};

// 访问天地图网站的序号
var siteindex = Math.round(Math.random() * 7);

// 天地图密钥
var key = "2b652d4e7858f5a1310620992c2cfe3c";

// 天地图影像底图图层 （卫星图层）
export const img_wLayer = new TileLayer({
  source: new XYZ({
    url: "https://t" + siteindex + ".tianditu.gov.cn/DataServer?T=img_w&x={x}&y={y}&l={z}&tk=" + key,
    crossOrigin: "Anonymous",
    cacheSize: 2048, // 提高缓存容量
    // tileSize: 512, // 调整瓦片大小（增加瓦片尺寸，减少请求次数）
    tileLoadFunction: (imageTile, src) => {
      const image = new Image();
      image.onload = () => {
        imageTile.getImage().src = image.src;
      };
      // 支持 WebP 格式
      image.src = src.replace(/\.png$/, ".webp");
    },
  }),
  title: "影像底图",
  maxZoom: 18,
  zIndex: 1,
});

// 4. 图块的缓存与合并请求
export const vec_wLayer = new TileLayer({
  source: new XYZ({
    url: "https://t" + siteindex + ".tianditu.gov.cn/DataServer?T=vec_w&x={x}&y={y}&l={z}&tk=" + key,
    crossOrigin: "Anonymous",
    cacheSize: 2048, // 提高缓存容量
    // tileSize: 512, // 调整瓦片大小（增加瓦片尺寸，减少请求次数）
    tileLoadFunction: (imageTile, src) => {
      const image = new Image();
      image.onload = () => {
        imageTile.getImage().src = image.src;
      };
      // 支持 WebP 格式
      image.src = src.replace(/\.png$/, ".webp");
    },
  }),
  title: "矢量底图",
  zIndex: 2,
});

export const ter_wLayer = new TileLayer({
  source: new XYZ({
    url: "https://t" + siteindex + ".tianditu.gov.cn/DataServer?T=ter_w&x={x}&y={y}&l={z}&tk=" + key,
    crossOrigin: "Anonymous",
    cacheSize: 2048,
    // tileSize: 512, // 调整瓦片大小（增加瓦片尺寸，减少请求次数）
    tileLoadFunction: (imageTile, src) => {
      const image = new Image();
      image.onload = () => {
        imageTile.getImage().src = image.src;
      };
      // 支持 WebP 格式
      image.src = src.replace(/\.png$/, ".webp");
    },
  }),
  title: "地形底图",
  zIndex: 3,
});

//浙江省的图层
export const zhejiangLayer = new TileLayer({
  source: new XYZ({
    url: `https://t{0-7}.tianditu.gov.cn/img_w/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles&TILECOL={x}&TILEROW={y}&TILEMATRIX={z}&tk=${key}`,
  }),
});

const positionFormat = function (coord) {
  return "经度：" + coord[0].toFixed(2) + "  纬度：" + coord[1].toFixed(2) + "  坐标系：CGCS2000";
};
